package com.elitesland.org.service;

import com.elitesland.core.base.PagingVO;
import com.elitesland.org.param.OrgBuQParam;
import com.elitesland.org.vo.OrgBuVO;

import java.util.List;
import java.util.Optional;

public interface OrgBuService {

    PagingVO<OrgBuVO> searchBus(Long ouId, OrgBuQParam param);

    List<OrgBuVO> searchBuByTree(Long ouId, OrgBuQParam param);

    List<OrgBuVO> listAllById(Long buId);

    Optional<OrgBuVO> oneById(Long id);

    Long create(OrgBuVO bu);

    void update(OrgBuVO bu);

    void removeById(Long id);

    void addEmployeeLinks(Long buId, List<Long> employeeIds, String linkType);

    void bindBusToBu(Long buId, List<Long> buIds);
}
